﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Net;
using System.Net.Mail;
using ServicioComunitario2.EnlaceDatos.SqlServer;


namespace ServicioComunitario2.Logica.Clases
{
    public class Evento
    {
        #region Atributos
        private int idEvento;
        private string nombreEvento;
        private string _fechaCorta;
        private DateTime fechaEvento;
        private string sitioEvento;
        private string responsableEvento;
        private string descripcionEvento;
        private string statusEvento;
        private int autorEvento;
        
        #endregion

        #region Constructor

        public Evento() { 
        }

        public Evento(int idEve, string nombreEve, DateTime fechaEve, string sitioEve, string responsableEve,
                      string descripEve, string statusEve, int idAutor) { 
        
        }

        public Evento(string nombreEve, DateTime fechaEve, string sitioEve, string responsableEve,
              string descripEve, string statusEve, int idAutor)
        {
            this.NombreEvento = nombreEve;
            this.FechaEvento = fechaEve;
            this.SitioEvento = sitioEve;
            this.ResponsableEvento = responsableEve;
            this.DescripcionEvento = descripEve;
            this.StatusEvento = statusEve;
            this.AutorEvento = idAutor;
        }

        public Evento(string nombreEve, DateTime fechaEve, string sitioEve, string responsableEve,
              string descripEve, string statusEve)
        {
            this.NombreEvento = nombreEve;
            this.FechaEvento = fechaEve;
            this.SitioEvento = sitioEve;
            this.ResponsableEvento = responsableEve;
            this.DescripcionEvento = descripEve;
            this.StatusEvento = statusEve;
        }

        #endregion

        #region gets y sets
        public int IdEvento
        {
            get { return idEvento; }
            set { idEvento = value; }
        }

        public string NombreEvento
        {
            get { return nombreEvento; }
            set { nombreEvento = value; }
        }

        public string FechaCorta
        {
            get { return _fechaCorta; }
            set { _fechaCorta = value; }
        }

        public DateTime FechaEvento
        {
            get { return fechaEvento; }
            set { fechaEvento = value; }
        }

        public string SitioEvento
        {
            get { return sitioEvento; }
            set { sitioEvento = value; }
        }

        public string ResponsableEvento
        {
            get { return responsableEvento; }
            set { responsableEvento = value; }
        }

        public string DescripcionEvento
        {
            get { return descripcionEvento; }
            set { descripcionEvento = value; }
        }

        public string StatusEvento
        {
            get { return statusEvento; }
            set { statusEvento = value; }
        }

        public int AutorEvento
        {
            get { return autorEvento; }
            set { autorEvento = value; }
        }
        #endregion

        #region Metodos de manejo

        public bool AgregarEvento(Evento nuevoEvento)
        {
            SqlEvento evento = new SqlEvento();

            return evento.InsertarEvento(nuevoEvento);
        }

        public bool ModificarEvento(Evento nuevoEvento, int idEvento)
        {
            SqlEvento evento = new SqlEvento();

            return evento.ModificarEvento(nuevoEvento, idEvento);
        }

        public Evento ConsultarEvento(int idEvento)
        {
            SqlEvento evento = new SqlEvento();

            return evento.DetalleEvento(idEvento);
        }

        public bool SuspenderEvento(Evento nuevoEvento, int idEvento)
        {
            SqlEvento evento = new SqlEvento();

            return evento.SuspenderEvento(idEvento);
        }

        public bool SuspenderEvento(int idEvento)
        {
            SqlEvento evento = new SqlEvento();

            return evento.SuspenderEvento(idEvento);
        }

        public List<Evento> ListaEventos()
        {

            SqlEvento infoAux = new SqlEvento();

            return (infoAux.ListarTodosEventos());


        }

        public List<Evento> ListaEventos(int numEvento)
        {

            SqlEvento infoAux = new SqlEvento();

            return (infoAux.ListarTodosEventos(numEvento));


        }

       /* public bool ListarEventosMes(Evento nuevoEvento, int mesEvento)
        {
            SqlEvento evento = new SqlEvento();

            return evento.ListarEventosMes(nuevoEvento, mesEvento);
        }

        public bool ListarEventosTodos(Evento nuevoEvento)
        {
            SqlEvento evento = new SqlEvento();

            return evento.ListarEventosTodos(nuevoEvento);
        }*/


        #endregion
    }

}